* Step 1: Bounds WORST_CASE(?,O(n^1)) + Considered Problem: - Strict TRS: U101(mark(X1),X2) -> mark(U101(X1,X2)) U101(ok(X1),ok(X2)) -> ok(U101(X1,X2)) U102(mark(X)) -> mark(U102(X)) U102(ok(X)) -> ok(U102(X)) U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3)) U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3)) U111(mark(X)) -> mark(U111(X)) U111(ok(X)) -> ok(U111(X)) U12(mark(X1),X2,X3) -> mark(U12(X1,X2,X3)) U12(ok(X1),ok(X2),ok(X3)) -> ok(U12(X1,X2,X3)) U121(mark(X)) -> mark(U121(X)) U121(ok(X)) -> ok(U121(X)) U131(mark(X1),X2) -> mark(U131(X1,X2)) U131(ok(X1),ok(X2)) -> ok(U131(X1,X2)) U132(mark(X)) -> mark(U132(X)) U132(ok(X)) -> ok(U132(X)) U141(mark(X1),X2) -> mark(U141(X1,X2)) U141(ok(X1),ok(X2)) -> ok(U141(X1,X2)) U142(mark(X)) -> mark(U142(X)) U142(ok(X)) -> ok(U142(X)) U151(mark(X1),X2) -> mark(U151(X1,X2)) U151(ok(X1),ok(X2)) -> ok(U151(X1,X2)) U152(mark(X)) -> mark(U152(X)) U152(ok(X)) -> ok(U152(X)) U161(mark(X1),X2) -> mark(U161(X1,X2)) U161(ok(X1),ok(X2)) -> ok(U161(X1,X2)) U171(mark(X1),X2,X3) -> mark(U171(X1,X2,X3)) U171(ok(X1),ok(X2),ok(X3)) -> ok(U171(X1,X2,X3)) U172(mark(X1),X2,X3) -> mark(U172(X1,X2,X3)) U172(ok(X1),ok(X2),ok(X3)) -> ok(U172(X1,X2,X3)) U181(mark(X1),X2) -> mark(U181(X1,X2)) U181(ok(X1),ok(X2)) -> ok(U181(X1,X2)) U182(mark(X1),X2) -> mark(U182(X1,X2)) U182(ok(X1),ok(X2)) -> ok(U182(X1,X2)) U191(mark(X1),X2) -> mark(U191(X1,X2)) U191(ok(X1),ok(X2)) -> ok(U191(X1,X2)) U201(mark(X1),X2,X3,X4) -> mark(U201(X1,X2,X3,X4)) U201(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U201(X1,X2,X3,X4)) U202(mark(X1),X2,X3,X4) -> mark(U202(X1,X2,X3,X4)) U202(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U202(X1,X2,X3,X4)) U203(mark(X1),X2,X3,X4) -> mark(U203(X1,X2,X3,X4)) U203(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U203(X1,X2,X3,X4)) U204(mark(X1),X2) -> mark(U204(X1,X2)) U204(ok(X1),ok(X2)) -> ok(U204(X1,X2)) U21(mark(X1),X2,X3) -> mark(U21(X1,X2,X3)) U21(ok(X1),ok(X2),ok(X3)) -> ok(U21(X1,X2,X3)) U211(mark(X1),X2) -> mark(U211(X1,X2)) U211(ok(X1),ok(X2)) -> ok(U211(X1,X2)) U212(mark(X1),X2) -> mark(U212(X1,X2)) U212(ok(X1),ok(X2)) -> ok(U212(X1,X2)) U22(mark(X1),X2) -> mark(U22(X1,X2)) U22(ok(X1),ok(X2)) -> ok(U22(X1,X2)) U221(mark(X1),X2,X3) -> mark(U221(X1,X2,X3)) U221(ok(X1),ok(X2),ok(X3)) -> ok(U221(X1,X2,X3)) U222(mark(X1),X2,X3) -> mark(U222(X1,X2,X3)) U222(ok(X1),ok(X2),ok(X3)) -> ok(U222(X1,X2,X3)) U31(mark(X1),X2,X3) -> mark(U31(X1,X2,X3)) U31(ok(X1),ok(X2),ok(X3)) -> ok(U31(X1,X2,X3)) U32(mark(X1),X2) -> mark(U32(X1,X2)) U32(ok(X1),ok(X2)) -> ok(U32(X1,X2)) U41(mark(X1),X2) -> mark(U41(X1,X2)) U41(ok(X1),ok(X2)) -> ok(U41(X1,X2)) U42(mark(X)) -> mark(U42(X)) U42(ok(X)) -> ok(U42(X)) U51(mark(X1),X2) -> mark(U51(X1,X2)) U51(ok(X1),ok(X2)) -> ok(U51(X1,X2)) U52(mark(X)) -> mark(U52(X)) U52(ok(X)) -> ok(U52(X)) U61(mark(X)) -> mark(U61(X)) U61(ok(X)) -> ok(U61(X)) U71(mark(X)) -> mark(U71(X)) U71(ok(X)) -> ok(U71(X)) U81(mark(X)) -> mark(U81(X)) U81(ok(X)) -> ok(U81(X)) U91(mark(X)) -> mark(U91(X)) U91(ok(X)) -> ok(U91(X)) afterNth(X1,mark(X2)) -> mark(afterNth(X1,X2)) afterNth(mark(X1),X2) -> mark(afterNth(X1,X2)) afterNth(ok(X1),ok(X2)) -> ok(afterNth(X1,X2)) cons(mark(X1),X2) -> mark(cons(X1,X2)) cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) fst(mark(X)) -> mark(fst(X)) fst(ok(X)) -> ok(fst(X)) head(mark(X)) -> mark(head(X)) head(ok(X)) -> ok(head(X)) isLNat(ok(X)) -> ok(isLNat(X)) isNatural(ok(X)) -> ok(isNatural(X)) isPLNat(ok(X)) -> ok(isPLNat(X)) natsFrom(mark(X)) -> mark(natsFrom(X)) natsFrom(ok(X)) -> ok(natsFrom(X)) pair(X1,mark(X2)) -> mark(pair(X1,X2)) pair(mark(X1),X2) -> mark(pair(X1,X2)) pair(ok(X1),ok(X2)) -> ok(pair(X1,X2)) proper(0()) -> ok(0()) proper(nil()) -> ok(nil()) proper(tt()) -> ok(tt()) s(mark(X)) -> mark(s(X)) s(ok(X)) -> ok(s(X)) sel(X1,mark(X2)) -> mark(sel(X1,X2)) sel(mark(X1),X2) -> mark(sel(X1,X2)) sel(ok(X1),ok(X2)) -> ok(sel(X1,X2)) snd(mark(X)) -> mark(snd(X)) snd(ok(X)) -> ok(snd(X)) splitAt(X1,mark(X2)) -> mark(splitAt(X1,X2)) splitAt(mark(X1),X2) -> mark(splitAt(X1,X2)) splitAt(ok(X1),ok(X2)) -> ok(splitAt(X1,X2)) tail(mark(X)) -> mark(tail(X)) tail(ok(X)) -> ok(tail(X)) take(X1,mark(X2)) -> mark(take(X1,X2)) take(mark(X1),X2) -> mark(take(X1,X2)) take(ok(X1),ok(X2)) -> ok(take(X1,X2)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) - Signature: {U101/2,U102/1,U11/3,U111/1,U12/3,U121/1,U131/2,U132/1,U141/2,U142/1,U151/2,U152/1,U161/2,U171/3,U172/3 ,U181/2,U182/2,U191/2,U201/4,U202/4,U203/4,U204/2,U21/3,U211/2,U212/2,U22/2,U221/3,U222/3,U31/3,U32/2,U41/2 ,U42/1,U51/2,U52/1,U61/1,U71/1,U81/1,U91/1,afterNth/2,cons/2,fst/1,head/1,isLNat/1,isNatural/1,isPLNat/1 ,natsFrom/1,pair/2,proper/1,s/1,sel/2,snd/1,splitAt/2,tail/1,take/2,top/1} / {0/0,active/1,mark/1,nil/0,ok/1 ,tt/0} - Obligation: innermost runtime complexity wrt. defined symbols {U101,U102,U11,U111,U12,U121,U131,U132,U141,U142,U151,U152 ,U161,U171,U172,U181,U182,U191,U201,U202,U203,U204,U21,U211,U212,U22,U221,U222,U31,U32,U41,U42,U51,U52,U61 ,U71,U81,U91,afterNth,cons,fst,head,isLNat,isNatural,isPLNat,natsFrom,pair,proper,s,sel,snd,splitAt,tail ,take,top} and constructors {0,active,mark,nil,ok,tt} + Applied Processor: Bounds {initialAutomaton = minimal, enrichment = match} + Details: The problem is match-bounded by 2. The enriched problem is compatible with follwoing automaton. 0_0() -> 2 0_1() -> 3 U101_0(2,2) -> 1 U101_1(2,2) -> 3 U102_0(2) -> 1 U102_1(2) -> 3 U11_0(2,2,2) -> 1 U11_1(2,2,2) -> 3 U111_0(2) -> 1 U111_1(2) -> 3 U12_0(2,2,2) -> 1 U12_1(2,2,2) -> 3 U121_0(2) -> 1 U121_1(2) -> 3 U131_0(2,2) -> 1 U131_1(2,2) -> 3 U132_0(2) -> 1 U132_1(2) -> 3 U141_0(2,2) -> 1 U141_1(2,2) -> 3 U142_0(2) -> 1 U142_1(2) -> 3 U151_0(2,2) -> 1 U151_1(2,2) -> 3 U152_0(2) -> 1 U152_1(2) -> 3 U161_0(2,2) -> 1 U161_1(2,2) -> 3 U171_0(2,2,2) -> 1 U171_1(2,2,2) -> 3 U172_0(2,2,2) -> 1 U172_1(2,2,2) -> 3 U181_0(2,2) -> 1 U181_1(2,2) -> 3 U182_0(2,2) -> 1 U182_1(2,2) -> 3 U191_0(2,2) -> 1 U191_1(2,2) -> 3 U201_0(2,2,2,2) -> 1 U201_1(2,2,2,2) -> 3 U202_0(2,2,2,2) -> 1 U202_1(2,2,2,2) -> 3 U203_0(2,2,2,2) -> 1 U203_1(2,2,2,2) -> 3 U204_0(2,2) -> 1 U204_1(2,2) -> 3 U21_0(2,2,2) -> 1 U21_1(2,2,2) -> 3 U211_0(2,2) -> 1 U211_1(2,2) -> 3 U212_0(2,2) -> 1 U212_1(2,2) -> 3 U22_0(2,2) -> 1 U22_1(2,2) -> 3 U221_0(2,2,2) -> 1 U221_1(2,2,2) -> 3 U222_0(2,2,2) -> 1 U222_1(2,2,2) -> 3 U31_0(2,2,2) -> 1 U31_1(2,2,2) -> 3 U32_0(2,2) -> 1 U32_1(2,2) -> 3 U41_0(2,2) -> 1 U41_1(2,2) -> 3 U42_0(2) -> 1 U42_1(2) -> 3 U51_0(2,2) -> 1 U51_1(2,2) -> 3 U52_0(2) -> 1 U52_1(2) -> 3 U61_0(2) -> 1 U61_1(2) -> 3 U71_0(2) -> 1 U71_1(2) -> 3 U81_0(2) -> 1 U81_1(2) -> 3 U91_0(2) -> 1 U91_1(2) -> 3 active_0(2) -> 2 active_1(2) -> 4 active_2(3) -> 5 afterNth_0(2,2) -> 1 afterNth_1(2,2) -> 3 cons_0(2,2) -> 1 cons_1(2,2) -> 3 fst_0(2) -> 1 fst_1(2) -> 3 head_0(2) -> 1 head_1(2) -> 3 isLNat_0(2) -> 1 isLNat_1(2) -> 3 isNatural_0(2) -> 1 isNatural_1(2) -> 3 isPLNat_0(2) -> 1 isPLNat_1(2) -> 3 mark_0(2) -> 2 mark_1(3) -> 1 mark_1(3) -> 3 natsFrom_0(2) -> 1 natsFrom_1(2) -> 3 nil_0() -> 2 nil_1() -> 3 ok_0(2) -> 2 ok_1(3) -> 1 ok_1(3) -> 3 ok_1(3) -> 4 pair_0(2,2) -> 1 pair_1(2,2) -> 3 proper_0(2) -> 1 proper_1(2) -> 4 s_0(2) -> 1 s_1(2) -> 3 sel_0(2,2) -> 1 sel_1(2,2) -> 3 snd_0(2) -> 1 snd_1(2) -> 3 splitAt_0(2,2) -> 1 splitAt_1(2,2) -> 3 tail_0(2) -> 1 tail_1(2) -> 3 take_0(2,2) -> 1 take_1(2,2) -> 3 top_0(2) -> 1 top_1(4) -> 1 top_2(5) -> 1 tt_0() -> 2 tt_1() -> 3 * Step 2: EmptyProcessor WORST_CASE(?,O(1)) + Considered Problem: - Weak TRS: U101(mark(X1),X2) -> mark(U101(X1,X2)) U101(ok(X1),ok(X2)) -> ok(U101(X1,X2)) U102(mark(X)) -> mark(U102(X)) U102(ok(X)) -> ok(U102(X)) U11(mark(X1),X2,X3) -> mark(U11(X1,X2,X3)) U11(ok(X1),ok(X2),ok(X3)) -> ok(U11(X1,X2,X3)) U111(mark(X)) -> mark(U111(X)) U111(ok(X)) -> ok(U111(X)) U12(mark(X1),X2,X3) -> mark(U12(X1,X2,X3)) U12(ok(X1),ok(X2),ok(X3)) -> ok(U12(X1,X2,X3)) U121(mark(X)) -> mark(U121(X)) U121(ok(X)) -> ok(U121(X)) U131(mark(X1),X2) -> mark(U131(X1,X2)) U131(ok(X1),ok(X2)) -> ok(U131(X1,X2)) U132(mark(X)) -> mark(U132(X)) U132(ok(X)) -> ok(U132(X)) U141(mark(X1),X2) -> mark(U141(X1,X2)) U141(ok(X1),ok(X2)) -> ok(U141(X1,X2)) U142(mark(X)) -> mark(U142(X)) U142(ok(X)) -> ok(U142(X)) U151(mark(X1),X2) -> mark(U151(X1,X2)) U151(ok(X1),ok(X2)) -> ok(U151(X1,X2)) U152(mark(X)) -> mark(U152(X)) U152(ok(X)) -> ok(U152(X)) U161(mark(X1),X2) -> mark(U161(X1,X2)) U161(ok(X1),ok(X2)) -> ok(U161(X1,X2)) U171(mark(X1),X2,X3) -> mark(U171(X1,X2,X3)) U171(ok(X1),ok(X2),ok(X3)) -> ok(U171(X1,X2,X3)) U172(mark(X1),X2,X3) -> mark(U172(X1,X2,X3)) U172(ok(X1),ok(X2),ok(X3)) -> ok(U172(X1,X2,X3)) U181(mark(X1),X2) -> mark(U181(X1,X2)) U181(ok(X1),ok(X2)) -> ok(U181(X1,X2)) U182(mark(X1),X2) -> mark(U182(X1,X2)) U182(ok(X1),ok(X2)) -> ok(U182(X1,X2)) U191(mark(X1),X2) -> mark(U191(X1,X2)) U191(ok(X1),ok(X2)) -> ok(U191(X1,X2)) U201(mark(X1),X2,X3,X4) -> mark(U201(X1,X2,X3,X4)) U201(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U201(X1,X2,X3,X4)) U202(mark(X1),X2,X3,X4) -> mark(U202(X1,X2,X3,X4)) U202(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U202(X1,X2,X3,X4)) U203(mark(X1),X2,X3,X4) -> mark(U203(X1,X2,X3,X4)) U203(ok(X1),ok(X2),ok(X3),ok(X4)) -> ok(U203(X1,X2,X3,X4)) U204(mark(X1),X2) -> mark(U204(X1,X2)) U204(ok(X1),ok(X2)) -> ok(U204(X1,X2)) U21(mark(X1),X2,X3) -> mark(U21(X1,X2,X3)) U21(ok(X1),ok(X2),ok(X3)) -> ok(U21(X1,X2,X3)) U211(mark(X1),X2) -> mark(U211(X1,X2)) U211(ok(X1),ok(X2)) -> ok(U211(X1,X2)) U212(mark(X1),X2) -> mark(U212(X1,X2)) U212(ok(X1),ok(X2)) -> ok(U212(X1,X2)) U22(mark(X1),X2) -> mark(U22(X1,X2)) U22(ok(X1),ok(X2)) -> ok(U22(X1,X2)) U221(mark(X1),X2,X3) -> mark(U221(X1,X2,X3)) U221(ok(X1),ok(X2),ok(X3)) -> ok(U221(X1,X2,X3)) U222(mark(X1),X2,X3) -> mark(U222(X1,X2,X3)) U222(ok(X1),ok(X2),ok(X3)) -> ok(U222(X1,X2,X3)) U31(mark(X1),X2,X3) -> mark(U31(X1,X2,X3)) U31(ok(X1),ok(X2),ok(X3)) -> ok(U31(X1,X2,X3)) U32(mark(X1),X2) -> mark(U32(X1,X2)) U32(ok(X1),ok(X2)) -> ok(U32(X1,X2)) U41(mark(X1),X2) -> mark(U41(X1,X2)) U41(ok(X1),ok(X2)) -> ok(U41(X1,X2)) U42(mark(X)) -> mark(U42(X)) U42(ok(X)) -> ok(U42(X)) U51(mark(X1),X2) -> mark(U51(X1,X2)) U51(ok(X1),ok(X2)) -> ok(U51(X1,X2)) U52(mark(X)) -> mark(U52(X)) U52(ok(X)) -> ok(U52(X)) U61(mark(X)) -> mark(U61(X)) U61(ok(X)) -> ok(U61(X)) U71(mark(X)) -> mark(U71(X)) U71(ok(X)) -> ok(U71(X)) U81(mark(X)) -> mark(U81(X)) U81(ok(X)) -> ok(U81(X)) U91(mark(X)) -> mark(U91(X)) U91(ok(X)) -> ok(U91(X)) afterNth(X1,mark(X2)) -> mark(afterNth(X1,X2)) afterNth(mark(X1),X2) -> mark(afterNth(X1,X2)) afterNth(ok(X1),ok(X2)) -> ok(afterNth(X1,X2)) cons(mark(X1),X2) -> mark(cons(X1,X2)) cons(ok(X1),ok(X2)) -> ok(cons(X1,X2)) fst(mark(X)) -> mark(fst(X)) fst(ok(X)) -> ok(fst(X)) head(mark(X)) -> mark(head(X)) head(ok(X)) -> ok(head(X)) isLNat(ok(X)) -> ok(isLNat(X)) isNatural(ok(X)) -> ok(isNatural(X)) isPLNat(ok(X)) -> ok(isPLNat(X)) natsFrom(mark(X)) -> mark(natsFrom(X)) natsFrom(ok(X)) -> ok(natsFrom(X)) pair(X1,mark(X2)) -> mark(pair(X1,X2)) pair(mark(X1),X2) -> mark(pair(X1,X2)) pair(ok(X1),ok(X2)) -> ok(pair(X1,X2)) proper(0()) -> ok(0()) proper(nil()) -> ok(nil()) proper(tt()) -> ok(tt()) s(mark(X)) -> mark(s(X)) s(ok(X)) -> ok(s(X)) sel(X1,mark(X2)) -> mark(sel(X1,X2)) sel(mark(X1),X2) -> mark(sel(X1,X2)) sel(ok(X1),ok(X2)) -> ok(sel(X1,X2)) snd(mark(X)) -> mark(snd(X)) snd(ok(X)) -> ok(snd(X)) splitAt(X1,mark(X2)) -> mark(splitAt(X1,X2)) splitAt(mark(X1),X2) -> mark(splitAt(X1,X2)) splitAt(ok(X1),ok(X2)) -> ok(splitAt(X1,X2)) tail(mark(X)) -> mark(tail(X)) tail(ok(X)) -> ok(tail(X)) take(X1,mark(X2)) -> mark(take(X1,X2)) take(mark(X1),X2) -> mark(take(X1,X2)) take(ok(X1),ok(X2)) -> ok(take(X1,X2)) top(mark(X)) -> top(proper(X)) top(ok(X)) -> top(active(X)) - Signature: {U101/2,U102/1,U11/3,U111/1,U12/3,U121/1,U131/2,U132/1,U141/2,U142/1,U151/2,U152/1,U161/2,U171/3,U172/3 ,U181/2,U182/2,U191/2,U201/4,U202/4,U203/4,U204/2,U21/3,U211/2,U212/2,U22/2,U221/3,U222/3,U31/3,U32/2,U41/2 ,U42/1,U51/2,U52/1,U61/1,U71/1,U81/1,U91/1,afterNth/2,cons/2,fst/1,head/1,isLNat/1,isNatural/1,isPLNat/1 ,natsFrom/1,pair/2,proper/1,s/1,sel/2,snd/1,splitAt/2,tail/1,take/2,top/1} / {0/0,active/1,mark/1,nil/0,ok/1 ,tt/0} - Obligation: innermost runtime complexity wrt. defined symbols {U101,U102,U11,U111,U12,U121,U131,U132,U141,U142,U151,U152 ,U161,U171,U172,U181,U182,U191,U201,U202,U203,U204,U21,U211,U212,U22,U221,U222,U31,U32,U41,U42,U51,U52,U61 ,U71,U81,U91,afterNth,cons,fst,head,isLNat,isNatural,isPLNat,natsFrom,pair,proper,s,sel,snd,splitAt,tail ,take,top} and constructors {0,active,mark,nil,ok,tt} + Applied Processor: EmptyProcessor + Details: The problem is already closed. The intended complexity is O(1). WORST_CASE(?,O(n^1))